package com.twotwoshop.service.user.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.twotwoshop.domin.common.dtos.ResponseResult;
import com.twotwoshop.domin.user.dtos.LoginDto;
import com.twotwoshop.domin.user.pojos.ApUser;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author 虎哥
 * @since 2021-12-22
 */
public interface IUserService extends IService<ApUser> {

    /**
     * 发送验证码
     *
     * @param phone
     * @return
     */
    ResponseResult sendCode(LoginDto phone);


    /**
     * 用户登录
     *
     * @param loginForm
     * @return
     */
    ResponseResult login(LoginDto loginForm);


    /**
     * 获取用户下信息
     * @return
     */
    ResponseResult getuserInfo();


    /**
     * 用户登出
     * @return
     */
    ResponseResult loginOut(String token);


    /**
     * 更改用户信息
     * @param apUser
     * @return
     */
    ResponseResult updateUserInfo(ApUser apUser);


    /**
     * 根据用户id获取用户信息
     * @param id
     * @return
     */
    ResponseResult getUserInfoById(Long id);


    /**
     * 获取卖家信息
     * @param id
     * @return
     */
    ResponseResult getsellerInfoById(Long id);


    /**
     * 用户名是否存在
     *
     * @param username 用户名
     * @return 用户名是否存在返回结果
     */
    Boolean hasUsername(String username);
}
